/*
*Universidad del Valle de Guatemala
*Hoja de Trabajo 9
*Integrantes:
*   Mayra Yucely Beb Caal Carne: 12537
*   Victor Fuentes Aruajo Carne: 12128
*/

public class Node<T> implements Comparable<Node<T>> {
        
        //se establecen los atributos de los nodos del digrafo
        protected T data;
        protected boolean visited;
        public Integer index = null;
        public Integer lowlink = null;
        public double distance = Double.POSITIVE_INFINITY;
        public Node<T> predecessor = null;
        
        //constructor de nodo con dato
        public Node(T data) {
                this.data = data;
        }
        
        //contructor de nodo vacio
        public Node() {
                
        }
        
        //metodo para retornar sifue o no visitado el nodo
        public boolean isVisited() {
                return visited;
        }
        
        //metodo para indicar que se visito el nodo
        public void visit() {
                visited = true;
        }
        
        //metodo para indicar que no se visito el nodo
        public void unvisit() {
                visited = false;
        }
        
        public int compareTo(Node<T> ob) {
                String tempA = this.toString();
                String tempB = ob.toString();
                
                return tempA.compareTo(tempB);
        }
        
        //impresion del nodo
        public String toString() {
                return data.toString();
        }
        
}